package cn.com.huzo.repository.manufacture;

import cn.com.huzo.model.entities.manufacture.RequisitionSlipLinesEntity;
import huzofw.repository.GenericRepository;
import java.util.List;
import java.util.Map;

/**
 * 领料单细数据访问对象接口。
 *
 * @author 吴旭
 */
public interface RequisitionSlipLinesRepository extends GenericRepository<RequisitionSlipLinesEntity, String> {

    /**
     * 根据标识取得明细。
     *
     * @param headerId 领料单标识
     * @return 明细
     */
    List<RequisitionSlipLinesEntity> fetchByHeaderKey(Long headerId);

    /**
     * 取得某成品色的领料单用于导出excel
     *
     * @param criterion 条件
     * @return 某成品色的领料单明细
     */
    List<RequisitionSlipLinesEntity> fetchLinesByProductColourForPrint(Map<String, Object> criterion);

    /**
     * 根据所选调达表增加领料单明细。
     *
     * @param headerId 主表ID
     * @param productId 产品ID
     * @param userId 操作者
     * @return 影响行数
     */
    Integer insert(Long headerId, Long productId, Long userId);

    /**
     * 补充和调达的差值到领料单明细。
     *
     * @param headerId 主表ID
     * @param productId 产品ID
     * @param userId 操作者
     * @return 影响行数
     */
    Integer supplement(Long headerId, Long productId, Long userId);
}
